2. 데이터 전송 기초2

1. IP 주소 (Internet Protocol Address)

IP 주소의 탄생 배경

초기 컴퓨터 네트워크는 물리적 직접 연결 방식을 사용했지만, 네트워크 확장과 함께 한계 드러남

문제점:

논리적 주소 체계인 IP 주소 도입으로 해결

IPv4와 IPv6 구조

IPv4 (32비트)

192.168.1.1
┌─────┬─────┬─────┬─────┐
│ 192 │ 168 │  1  │  1  │
│8비트│8비트│8비트│8비트│
└─────┴─────┴─────┴─────┘
총 43억개 주소 표현 가능

IPv6 (128비트)

2001:0db8:85a3::8a2e:0370:7334
128비트 = 3.4 × 10³⁸개 주소

주소 체계 분류

IP 주소 구조:

IP 주소
├── 글로벌 IP
│   └── 인터넷에서 사용, 전세계 고유
└── 프라이빗 IP
    └── LAN 내부 사용, 중복 허용

NAT 라우터
└── 하나의 글로벌 IP로 여러 프라이빗 IP 관리

프라이빗 IP 도입 이유:

2. MAC 주소 (Media Access Control Address)

MAC 주소 구조와 설계 이유

MAC 주소 (48비트)
┌─────────────────┬─────────────────┐
│  벤더 코드      │   시리얼 번호    │
│  (상위 24비트)  │  (하위 24비트)   │
│  제조사 식별    │  기기별 고유번호 │
└─────────────────┴─────────────────┘

48비트 선택 이유 (1980년 IEEE 결정):

계층별 식별자 비교

구분 MAC 주소 IP 주소
계층 2계층 (데이터링크) 3계층 (네트워크)
범위 물리적 기기 식별 논리적 네트워크 위치
변경성 하드웨어 고정 동적 변경 가능
관리 IEEE (분산 관리) IANA (중앙 관리)

하드웨어 고정 방식의 장점:

3. ARP (Address Resolution Protocol)

ARP의 필요성 - 계층 간 격차 해결

근본 문제:

ARP 동작 과정:

1. 컴퓨터 A → 네트워크 (브로드캐스트)
   "IP 192.168.1.100의 MAC은?"

2. 네트워크 → 컴퓨터 B
   ARP 요청 전달

3. 컴퓨터 B → 컴퓨터 A (응답)
   "내 MAC: AA:BB:CC:DD:EE:FF"

4. 컴퓨터 A
   ARP 캐시에 저장, 재사용으로 효율성 향상

ARP 동작 방식과 최적화

브로드캐스트 방식 선택 이유:

효율성 개선 방법:

4. 포트 번호 (Port Number)

포트 번호의 역할과 구조

16비트 (0~65535) 선택 배경:

포트 번호 체계:

포트 번호 65536개
├── Well-Known (0-1023)
│   └── 시스템 서비스 (HTTP:80, HTTPS:443)
├── Registered (1024-49151)
│   └── 특정 애플리케이션 (MySQL:3306)
└── Dynamic (49152-65535)
    └── 임시 연결, 클라이언트 포트

Well-Known 포트 (0-1023) 설계 철학

UNIX 보안 모델 기반:

주요 서비스 포트:

5. 통신 방식 진화: 회선 교환 → 패킷 교환

회선 교환 방식 (Circuit Switching)

전화 시스템 기반 원리:

전화기 A → 교환대 1 → 교환대 2 → 전화기 B
(전용 회선 설정)

특징 및 한계:

패킷 교환 방식 (Packet Switching)

Paul Baran의 핵심 통찰 (1960년대):

"메시지를 작은 조각으로 분할하여 독립 전송하면 경로 장애 시 자동 우회 가능"

패킷 교환 과정:

원본 데이터
    ↓
패킷 분할
    ├── 패킷 1 - 경로 A ─┐
    ├── 패킷 2 - 경로 B ─┼→ 목적지
    └── 패킷 3 - 경로 C ─┘
                          ↓
                    데이터 재조립

패킷 교환의 혁신성:

통신 과정 종합 정리

데이터 전송 흐름:

1. 애플리케이션
   ↓
2. 포트 지정 (HTTP:80)
   ↓
3. IP 계층
   ↓
4. 목적지 IP 주소 (8.8.8.8)
   ↓
5. 라우팅 판단
   ↓
6. 게이트웨이 필요 (192.168.1.1)
   ↓
7. ARP로 게이트웨이 MAC 주소 확인
   ↓
8. 패킷 생성
   - IP 목적지: 8.8.8.8
   - MAC 목적지: 게이트웨이
   ↓
9. 네트워크 전송
   ↓
10. 라우터들의 패킷 교환
   ↓
11. 목적지 도달
   ↓
12. 패킷 재조립